home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.basic;
-
- import com.sun.java.swing.AbstractButton;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JMenu;
- import com.sun.java.swing.JMenuBar;
- import com.sun.java.swing.LookAndFeel;
- import com.sun.java.swing.event.ChangeListener;
- import com.sun.java.swing.plaf.ComponentUI;
- import com.sun.java.swing.plaf.MenuBarUI;
- import java.awt.Dimension;
- import java.awt.event.MouseMotionListener;
- import java.io.Serializable;
-
- public class BasicMenuBarUI extends MenuBarUI implements Serializable {
- protected JMenuBar menuBar;
- protected MouseListener mouseListener;
- protected MouseMotionListener dragListener;
- protected ChangeListener menuChangeListener;
-
- protected void addListeners() {
- for(int i = 0; i < this.menuBar.getMenuCount(); ++i) {
- this.registerMenu(this.menuBar.getMenu(i));
- }
-
- }
-
- protected ChangeListener createChangeListener() {
- return new 1(this);
- }
-
- protected MouseListener createMouseListener() {
- return new MouseListener(this.menuBar);
- }
-
- protected MouseMotionListener createMouseMotionListener() {
- return new BasicMenuMouseMotionListener();
- }
-
- public static ComponentUI createUI(JComponent x) {
- return new BasicMenuBarUI();
- }
-
- public Dimension getMaximumSize(JComponent c) {
- return null;
- }
-
- public Dimension getMinimumSize(JComponent c) {
- return null;
- }
-
- public Dimension getPreferredSize(JComponent c) {
- return null;
- }
-
- protected void initListeners() {
- this.mouseListener = this.createMouseListener();
- this.dragListener = this.createMouseMotionListener();
- this.menuChangeListener = this.createChangeListener();
- }
-
- public void installUI(JComponent c) {
- this.menuBar = (JMenuBar)c;
- this.initListeners();
- this.addListeners();
- c.setOpaque(true);
- LookAndFeel.installBorder(c, "MenuBar.border");
- LookAndFeel.installColorsAndFont(c, "MenuBar.background", "MenuBar.foreground", "MenuBar.font");
- }
-
- public void registerMenu(JMenu menu) {
- ((AbstractButton)menu).getModel().addChangeListener(this.menuChangeListener);
- }
-
- protected void removeListeners() {
- for(int i = 0; i < this.menuBar.getMenuCount(); ++i) {
- this.unregisterMenu(this.menuBar.getMenu(i));
- }
-
- }
-
- public void uninstallUI(JComponent c) {
- this.removeListeners();
- c.resetKeyboardActions();
- LookAndFeel.uninstallBorder(c);
- }
-
- public void unregisterMenu(JMenu menu) {
- ((AbstractButton)menu).getModel().removeChangeListener(this.menuChangeListener);
- }
- }
-